package com.enba.rbacadmin.module.dict.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.enba.rbacadmin.module.dict.controller.req.SysDictAddUpdateReq;
import com.enba.rbacadmin.module.dict.controller.req.SysDictItemAddUpdateReq;
import com.enba.rbacadmin.module.dict.entity.SysDict;
import com.enba.rbacadmin.module.dict.entity.SysDictItem;
import com.enba.rbacadmin.module.dict.mapper.SysDictItemMapper;

public interface SysDictService extends IService<SysDict> {

  Page<SysDict> listByCondition(Page<SysDict> page, String dictName, Integer status);

  /** 字典项列表查询 */
  Page<SysDictItem> listItemByCondition(
      Page<SysDictItem> page, Long dictId, String itemText, Integer status);

  /**
   * 新增或修改
   *
   * @param req
   * @return
   */
  boolean saveOrUpdate(SysDictAddUpdateReq req);

  /**
   * 删除
   *
   * @param id
   * @return boolean
   */
  boolean delete(Long id);

  /**
   * 字典项 新增或修改
   *
   * @param req
   * @return
   */
  boolean saveOrUpdate(SysDictItemAddUpdateReq req);

  public SysDictItemMapper getSysDictItemMapper();
}
